package cn.itcast.feign.client;
import cn.itcast.hmall.dto.common.PageDTO;
import cn.itcast.hmall.dto.common.ResultDTO;
import cn.itcast.hmall.dto.item.SearchItemDTO;
import cn.itcast.hmall.pojo.item.Item;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

/**
 * 商品服务 Feign接口
 *
 * TODO 需要远程调用的方法自己补充哦
 *
 */
@FeignClient("itemservice")
public interface ItemClient {


    /**
     * 分页查询商品
     * @param searchItemDTO item查询封装
     * @return
     */
    @PostMapping("/item/list")
    public PageDTO<Item> queryItemByPage(@RequestBody SearchItemDTO searchItemDTO);

    /**
     * 根据id查询商品
     * @param id 商品id
     * @return
     */
    @GetMapping("/item/{id}")
    public Item queryItemById(@PathVariable("id") Long id);

    /**
     * 修改商品 减库存
     * @param item
     * @return
     */
    @PutMapping("/item")
    public ResultDTO updateItem(@RequestBody Item item);


}
